1. Field of the Invention
The present invention relates to a disk array apparatus having a disk array constituted by a plurality of disk drives, and a parity processing method in the disk array apparatus.
2. Description of the Related Art
Conventionally, various types of disk array apparatuses each having a disk array represented by RAID (Redundant Array of Inexpensive Disks, Redundant Array of Independent Disks) which is constituted by a plurality of disk drives have been developed. The disk array is generally accessed for each physical stripe. U.S. Pat. No. 6,219,752 or U.S. Pat. No. 6,233,648 discloses a high-speed write method for a disk array apparatus. In this write method, when receiving an update (write) request from a host computer, contents in the storage area of old data to be updated normally are not rewritten, and the updated data is stored in a buffer first. When updated data with a predetermined quantity are stored in the buffer, these updated data are written in empty areas other than the area of the old data on the plurality of disk drives in bulk. Such a write method is called as a delay write method.
To prepare for a case wherein a failure (fault) occurs in one of the plurality of disk drives that constitute the disk array, the disk array apparatus generally employs a redundant configuration which is known as, e.g., RAID. That is, when any disk drive fails in the disk array apparatus, a preliminary disk drive is used instead of the faulty disk drive to reconstitute the disk array.
In this manner, the disk array apparatus can cope with a failure in a single disk drive. On the other hand, it is important to detect a disk drive abnormality before the disk drive fails. To detect a disk drive abnormality early, the conventional disk array apparatus using the above-mentioned delay write method performs parity processing with the following procedures.
That is, all physical stripes on the disk array are loaded one by one. Parity data are generated from data of logical blocks contained in the physical stripes. Each generated parity data is compared with parity data which has been stored, in advance, in a corresponding physical stripe to check the consistency between them. Alternatively, the generated parity data are written in a predetermined disk drive.
In this manner, the conventional parity processing must load all the physical stripes on the disk array. This requires a very long period of time to process all the physical stripes. The processing time depends on the data capacity of the disk array and prolongs with an increase in capacity.